The task of determining which compiler options are currently enabled in a particular build environment often is a very difficult and time-consuming task. Information relating to which options are being used in a particular build environment generally is only provided during the initial build process when the compiler options are being set, and then only if the particular compiler explicitly provides this feature, which usually is not the case. Build environments frequently are very complex and hierarchical in nature. Furthermore, it is common for build environments to be modified over time by many different compiler users, potentially resulting in changes to the compiler options at various levels within the build environment. Also, it is possible for an option to be enabled at one level of a build environment and overriden at a lower level of the build environment.
Each compiler user who modifies a particular build environment may not be aware of all of the modifications which have previously been made to the particular build environment by other compiler users. Also, a compiler user might accidentally disable options which should be enabled. For example, a compiler user might disable a particular option to debug a program and forget to enable the option once the program has been debugged. Consequently, compiler users often do not know which compiler options are currently being used in a build environment.
Apparently, there are no tools currently available on the market which allow a compiler user to easily ascertain which compiler options are actually enabled in a build environment. It would be beneficial to provide compiler users with a tool that would allow them to determine which compiler options are currently being used in a build environment without requiring them to understand the build environment in order to determine which compiler options currently are being used.
Once it is known which compiler options are being implemented, the compiler user can more easily modify the current options in order to test other options in an effort to further optimize compiler performance. As time-consuming as it is to understand a build environment, it can be even more time-consuming to modify the build environment. Often, compiler users find it desirable to modify a build environment to substitute or add new compiler options. However, it is preferable to test the new options before actually modifying the build environment to include the new options. Therefore, it would be beneficial to provide a tool which would not only allow the compiler user to ascertain which compiler options are currently being used in a build environment, but which would also allow the compiler user to modify the current options to test new options without necessarily modifying the build environment to include the new options.
Accordingly, a need exists for a method and apparatus which will allow a compiler user to easily determine which compiler options are currently being implemented in a build environment while also allowing the compiler user to replace or supplement the current options with new options in order to test the build environment with the new options without modifying the build environment.